home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-12 | 22.7 KB | 582 lines | [TEXT/AEDT] |
- ------------------------------------------------------------------------------
- MG Profile Compiler Ver.1.2.1 / Release Notes (English edition)
- Copyright (c) 1993-96 by TONTATA
- ------------------------------------------------------------------------------
- Created by TONTATA (a member of JIRAIYA AIKOU-KAI)
- NIFTY-Serve : NCA02217
- Internet : NCA02217@niftyserve.or.jp
- mmaeda@ca2.so-net.or.jp
- Home Page : http://ux01.so-net.or.jp/~mmaeda/
- ------------------------------------------------------------------------------
- BRIEF DESCRIPTION
-
- MG Profile Compiler is an application for Macontosh that allows you to
- make sound device profiles for MIDIGraphy. It compiles source text files, and
- then generates sound device profiles. For comments, suggestions or bug
- reports, please send mail to me:
-
- NIFTY-Serve : NCA02217
- Internet : NCA02217@niftyserve.or.jp
-
- ------------------------------------------------------------------------------
- NOTES
-
- - The "Users' Manual" follows this "release notes" in this file. Please
- read the "Users' Manual" before you use this software.
- - There are some regulations to distribute data created by using this
- software. For details, refer the section "DISTRIBUTION".
-
- ------------------------------------------------------------------------------
- SYSTEM REQUIREMENTS
-
- - MG Profile Compiler works under System 7.0 or later. It has not been
- tested under erlier version of system software.
-
- ------------------------------------------------------------------------------
- LICENCE
-
- - This package is an optional package of MIDIGraphy package which is
- separately distributed. There are some diferences in lincencing
- regulations for these two packages.
- - MIDIGraphy package is the shareware. If you think a combination of two
- packages (MIDIGraphy package and this package) is worth paying for,
- please send me a shareware fee. Detail descriptions about a shareware fee
- of MIDIGraphy are in the release notes provided with MIDIGraphy package.
- - If you have already paid a shareware fee for any version of MIDIGraphy
- package, you don't have to pay any more fee for this package.
-
- ------------------------------------------------------------------------------
- DISTRIBUTION
-
- - MG Profile Compiler is free to a non-commercial distribution. Please keep
- package contents (including accompaning written materials) uncahnged.
- When you post MG Profile Compiler on sites or BBSs, please let me know
- where you post it on.
- - A prior permission is required for a commercial distribution. As a rule,
- a commercial distribution requres the following terms.
- a. Price is not unreasonable.
- b. Any right or responsibility is not transferred.
- c. Not any changes from the author's original package are allowed. (An
- extracting archives or a re-compressing whole of package contents
- is admitted.)
- d. One set of distribution is provided to the author who keeps it in
- his custody.
- - To use MG Profile Compiler for commercial purposes, a prior permission by
- the author is necessary.
- - To use data created by using MG Profile Compiler for commercial purposes,
- a prior permission is necessary.
-
- - It is prohibited to distribute data which created using a sample file
- without modification.
- - If you distribute data which created using a sample file with some
- mofications, you must also modify it's copyright description. The
- distribution with copyright description as "Copyright (c) by TONATA" is
- prohibited.
-
- ------------------------------------------------------------------------------
- COPYRIGHT
-
- - MG Profile Compiler and accompanying written materials are copyrighted
- 1993-96 by author TONTATA.
-
- ------------------------------------------------------------------------------
- WARRANTY
-
- - MG Profile Compiler and accompanying written materials are provided
- "as is" without warranty of any kind. Any damage caused by using or
- imposibility to use this software or accompanying written materials is
- the responsibiity of the user.
- - By using MG Profile Compiler and accompanying written materials, you can
- freely produce and distribute data or software in case regulations for a
- distribution are not violated. However, any damage or trouble caused by
- the distribution or by using materials distributed is the responsibility
- of the user.
- - Specifications for software interface between MIDIGraphy and profiles
- might be changed without notification to users.
-
-
- ------------------------------------------------------------------------------
- VERSION HISTORY
-
- Ver.1.2.1 (1996/04/12 posted on NIFTY-Serve FMIDITOL/FMACPRO)
- - The source file for QTMI Profile is newly included.
- - Now English document is available (yes, this file).
-
- Ver.1.2.0 (1996/03/20 posted on NIFTY-Serve FMIDITOL/FMACPRO)
- Ver.1.1.1 (1996/02/12 posted on NIFTY-Serve FMIDITOL/FMACPRO)
- Ver.1.0.5 (1995/11/18 posted on NIFTY-Serve FMIDITOL)
- Ver.0.9.0 (1995/11/04 "Beta Version" posted on NIFTY-Serve FMIDITOL)
-
- ------------------------------------------------------------------------------
- * English is not my native language. If you find spelling or grammatical
- mistakes in my documents or messages of my program, please inform me.
-
- ------------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
- ------------------------------------------------------------------------------
- MG Profile Compiler Ver.1.2.1 / Users' Manual (English edition)
- Copyright (c) 1993-96 by TONTATA
- ------------------------------------------------------------------------------
- Created by TONTATA (a member of JIRAIYA AIKOU-KAI)
- NIFTY-Serve : NCA02217
- Internet : NCA02217@niftyserve.or.jp
- mmaeda@ca2.so-net.or.jp
- Home Page : http://ux01.so-net.or.jp/~mmaeda/
- ------------------------------------------------------------------------------
-
-
- TABLE OF CONTENTS
- ~~~~~~~~~~~~~~~~~
- 1. Abstract
- 2. Usage
- 2.1. How To Install
- 2.2. How To Compile
- 2.3. Error Messages
-
- A. MGPC Syntax
- A1. Preprocessing
- A1.1. Comments
- A1.2. File Inclusion
- A1.3. Simbol Substitutions
- A2. Expressions
- A2.1. String Expressions
- A2.2. Numeric Value Expressions
- A2.3. File Path Expressions
- A3. Statements
- A3.1. Profile Description Statements
- A3.2. Resource Description Statements
- A3.2.1. 'vers' Description Statements
- A3.2.2. 'PNam' Description Statements
- A3.2.3. 'NNam' Description Statements
- A3.2.4. 'Midi' Description Statements
- A3.2.5. 'Mid#' Description Statements
- A3.2.6. 'Exdf' Description Statements
-
-
-
- ------------------------------------------------------------------------------
- 1. Abstract
- ~~~~~~~~~~~
- MG Profile Compiler is an application for Macontosh that allows you to
- make sound device profiles for MIDIGraphy. It compiles source text files, and
- then generates sound device profiles. By using MG Profile Compiler, you can
- create following resources:
- - 'vers': A resource contains version and copyright descriptions.
- - 'PNam': A resource contains a program name list.
- - 'NNam': A resource conatins a note name list.
- - 'Midi': A resource contains directly output MIDI data.
- - 'Mid#': A resource contains a list of 'Midi'.
- - 'Exdf': A resource contains a system exclusive filter.
-
-
- 2. Usage
- ~~~~~~~~
- 2.1. How To Install
-
- This package contains following files:
-
- MGPC folder
- +- MGProfCompiler : MG Profile Compiler application.
- +- mgpc.doc : this file.
- +- profile sources : the folder contains sample source files.
- +- ***.s : sample source files.
-
- You can install these files any whare you like in your hard disk.
-
-
- 2.2. How To Compile
-
- MG Profile Compiler compiles source text file then generates profiles. To
- edit source text files, you need a text editor application. You can use any
- text editor which can handle 'TEXT' files. You can use SimpleText which
- provided by Apple Computer Inc., but note that SimpleText can not handle a
- TEXT file over 32KB in size. All of sample source files are smaller than
- 32KB, but it might be necessary to make source files over 32KB. (I'm using
- ASLEdit+ by Mr Hiroo Yamada).
- To create new profile, first, make a source text file according to
- syntaxes discribed later. Since MG Profile Compiler do only simplicity error
- checks, please make a source file after you understand syntaxes thoroughly.
- Next, compile your source file by MG Profile Compiler. There are
- following two method to compile your source file:
-
- Method-A:
- - Launch MG Profile Compiler application.
- - Choose the menu item "File>Compile".
- - Choose your source file in the Open dialog box.
-
- Method-B:
- - Drag your source file and drop onto MG Profile Compiler icon.
-
- There is no option related to compilation. A progress dialog will be
- appear while a compiliation process is running. If MG Profile Compiler finds
- an error in your source, it displays an error message dialog, and the compile
- process is stopped.
-
-
- 2.3. Error Messages
-
- If MG Profile Compiler finds an error, it displays following error
- messages with position (a line number) in the file:
-
- - "file cannot open."
- - "syntax error."
- - "comment not closed."
- - "include nesting overflow."
- - "undefined directive."
- - "String too log."
- - "Resource not found."
- - "Memory low."
-
-
- ------------------------------------------------------------------------------
- A. MGPC Syntax
- ~~~~~~~~~~~~~~
-
- A1. Preprocessing
-
- A1.1. Comments
-
- Next two notation are comments and ignored in compilation.
-
- /* this is a comment (this can be consisted plural lines). */
- or
- // this is a comment ends with the end of line.
-
- A '/*' contained in either type of comment is not regarded as the start
- of a comment. A '*/' contained in second type of comment is not regarded as
- the end of comment. And a '//' contained in first type of comment is not
- regarded as a start of comment.
-
-
- A1.2. File Inclusion
-
- Next two directive include specified source file.
-
- #include "PATH_NAME"
- or
- #include <PATH_NAME>
-
- For both two directive, MG Profile Compiler will search specified source
- file based on current directory. If you want to include source file which is
- not placed in current directory, you must specify as a PATH_NAME a relative
- path from current directory or a full path of the file you want to include.
- Expressions for PATH_NAME will be described later.
-
-
- A1.3. Symbol Substitutions
-
- Next directive defines a symbol and assign value to it.
-
- #include SYMBOL_NAME VALUE
-
- After in this directive, an expression $SYMBOL_NAME$ will be replaced
- with the VALUE. The VALUE may be a numeric value expression or a string
- expression. If you specify $UNDEFINED_SYMBOL$ in source file, it will be
- ignored (not causes an error).
-
-
- A2. Expressions
-
- A2.1. String Exprettions
-
- Next two expressions are for string data.
-
- "STRING"
- or
- "STRING_1" "STRING_2" ...
-
- Characters '/*', '*/' and '//' in STRING expression are not regarded as
- comment-tags. If you want to use the '"' character in a string expression,
- you must specify as '\"'. If you want to use the '\' character in a string
- expression, you must specify as '\\'. If you specify plural string
- expressions without separater except space, tab or CR, they will be regarded
- as one string. Some expressions of them can be $SYMBOL_NAME$ expression.
-
-
- A2.2. Numeric Value Expressions
-
- Next expressions are for numeric data.
-
- DECIMAL_VALUE
- or
- HEXADECIMAL_VALUE (start with '0x')
-
-
- A2.3. File Path Expressions
-
- The path expression for a file in the current directory is only a file
- name:
-
- "FILE_NAME"
-
- The relative path expression for a file in other directories is started
- with ':', and sparating directory names with ':', as shown below:
-
- ":DIRETORY_NAME:FILE_NAME"
-
- The upper level of the current directory is expressed with '::', and the
- twice upper level is expressed with ':::'.
- The absolute pass expression is started with the volume name and
- separating directory names with ':', as shown below:
-
- "VOLUME_NAME:DIRECTORY_NAME:FILE_NAME"
-
- NOTE: The PATH_NAME expression for an #include directive can not be a
- $SYMBOL_NAME$ expression.
-
-
- A3. Statements
-
- A3.1. Profile Description Statements
-
- Next statement creates a new profile.
-
- FILE("PATH_NAME"){
- RESOURCE_DESCRIPTION
- RESOURCE_DESCRIPTION
- :
- :
- };
-
- ("PATH_NAME") identifies a profile to create. The PATH_NAME expression
- must be a relative path expression from the current directory, or an absolute
- path expression.
- One source file may contain plural profile description. And one profile
- description statement may contain plural resource descriptions but plural
- 'vers' descriptions will be ignored except last one. Some or all resource
- descriptions may be in an included file. A resource description outside
- profile descriptions will cause a compile error.
-
-
- A3.2. Resource Description Statements
-
- A3.2.1. 'vers' Description Statements
-
- Next statement creates a 'vers' resource.
-
- vers("RESOURCE_NAME"){
- VERSION_NO ,
- REVISION_NO_UPPER ,
- REVISION_NO_LOWER ,
- STAGE_NO ,
- BUILD_NO ,
- INTERNATIONAL_CODE ,
- "STRING_1" ,
- "STRING_2" ,
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- This statement creates a 'vers' resource, id=1 which shows a file
- version. 'vers' resource id=2 which shows a package version is copied from
- 'vers' resource id=1 in MG Profile Compiler. If a profile description
- statement contains plural 'vers' resource description, they are ignored
- except last one. If a profile description statement contains NO 'vers'
- resource description, 'vers' resource id=1 is also copied from MG Profile
- Compiler.
-
-
- A3.2.2. 'PNam' Description Statements
-
- Next statement creates a 'PNam' resource.
-
- PNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
- PROGRAM_NAME_DESCRIPTION ,
- PROGRAM_NAME_DESCRIPTION ,
- :
- :
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
- from which a new resource will be derived. If the original resource
- identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
- is ommitted, the original resource is searched in currently creating profile
- (in this case, REF_RESOURCE_NAME must be previously described in the source
- file). If all braced PROGRAM_NAME_DESCRIPTIONs are omitted, a new resource
- will be a copy of the original resource.
- Next statements describe PROGRAM_NAME_DESCRIPTION:
-
- "PROG_NO:PROG_NAME_STRING"
- or
- +"PROG_NO:PROG_NAME_STRING"
- or
- -"PROG_NO:"
- or
- "-"
-
- A PROG_NO may be a 2-figure hexadecimal number. It may contain characters
- '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'.
- In case of the first from, if a same PROG_NO is found in the current
- 'PNam' resource (i.e. in an original resource or in previous
- PROGRAM_NAME_DESCRIPTIONs), it will be replaced with PROG_NAME_STRING
- described here. If a same PROG_NO is not found, a new PROG_NAME_STRING will
- be added the end of current 'PNam' resource.
- In case of the second form, a new PROG_NAME_STRING will be added the end
- of current 'PNam' resource nonconditionally.
- In case of the third form, if a same PROG_NO is found the current 'PNam'
- resource, it will be removed from the current resource.
- The last form deinfes a separator.
-
-
- A3.2.3. 'NNam' Description Statements
-
- Next statement creates a 'NNam' resource.
-
- NNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
- NOTE_NAME_DESCRIPTION ,
- NOTE_NAME_DESCRIPTION ,
- :
- :
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
- from which a new resource will be derived. If the original resource
- identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
- is ommitted, the original resource is searched in currently creating profile
- (in this case, REF_RESOURCE_NAME must be previously described in the source
- file). If all braced NOTE_NAME_DESCRIPTIONs are omitted, a new resource will
- be a copy of the original resource.
- Next statements describe NOTE_NAME_DESCRIPTION:
-
- "NOTE_NO:NOTE_NAME_STRING"
- or
- +"NOTE_NO:NOTE_NAME_STRING"
- or
- -"NOTE_NO:"
- or
- "-"
-
- A NOTE_NO may be a 2-figure hexadecimal number. It may contain characters
- '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'.
- In case of the first from, if a same NOTE_NO is found in the current
- 'PNam' resource (i.e. in an original resource or in previous
- NOTE_NAME_DESCRIPTIONs), it will be replaced with NOTE_NAME_STRING described
- here. If a same NOTE_NO is not found, a new NOTE_NAME_STRING will be added
- the end of current 'NNam' resource.
- In case of the second form, a new NOTE_NAME_STRING will be added the end
- of current 'NNam' resource nonconditionally.
- In case of the third form, if a same NOTE_NO is found the current 'NNam'
- resource, it will be removed from the current resource.
- The last form defines a separator.
-
-
- A3.2.4. 'Midi' Description Statements
-
- Next statement creates a 'Midi' resource.
-
- Midi("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
- or
- Midi("RESOURCE_NAME"){
- MIDI_EVENT
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- The first form creates a new 'Midi' resource as a copy of an original
- resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the
- "REF_FILE_NAME" is ommitted, the original resource is searched in currently
- creating profile (in this case, REF_RESOURCE_NAME must be previously
- described in the source file).
- The second form creates a new 'Midi' resource which contains a specified
- MIDI_EVENT. A MIDI_EVENT is hexadecimal encoded data.
-
-
- A3.2.5. 'Mid#' Description Statements
-
- Next statement creates a 'Mid#' resource.
-
- Mid#("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
- Midi_RESOURCE_NAME ,
- Midi_RESOURCE_NAME ,
- :
- :
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
- from which a new resource will be derived. If the original resource
- identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
- is ommitted, the original resource is searched in currently creating profile
- (in this case, REF_RESOURCE_NAME must be previously described in the source
- file). If all braced MIDI_RESOURCE_NAMEs are omitted, a new resource will be
- a copy of the original resource.
- MIDI_RESOURCE_NAMEs will be stored into the profile without any
- proopriety verification in the compilation (It will be verified at a runtime
- on MIDIGraphy).
-
-
- A3.2.6. 'Exdf' Description Statements
-
- Next statement creates a 'Exdf' resource.
-
- Exdf("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
- or
- Exdf("RESOURCE_NAME"){
- FIELD_DESCRIPTION ,
- FIELD_DESCRIPTION ,
- :
- :
- };
-
- ("RESOURCE_NAME") identifies a resource to create.
- The first form creates a new 'Exdf' resource as a copy of an original
- resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the
- "REF_FILE_NAME" is ommitted, the original resource is searched in currently
- creating profile (in this case, REF_RESOURCE_NAME must be previously
- described in the source file).
- The second form creates a new 'Exdf' resource which contains specified
- FIELD_DESCRIPTIONs. Next statement describes FIELD_DESCRIPTION:
-
- FIELD_NAME,FIELD_TYPE,FIELD_BITS,FIELD_DATA
-
- A FIELD_NAME may be a string expression. If the FIELD_TYPE is $Exdf_val$
- or $Exdf_data$, this FIELD_NAME will appear as the item title in the System
- Exclusive Editor dialog.
- A FIELD_TYPE may be one of below:
-
- $Exdf_fix$ : It defines a Fixed-Data field. For this type, the
- FIELD_BITS is the number of bits for the field, and
- the FIELD_DATA is the Fixed-data. At runtime on
- MIDIGraphy, data in Fixed-Data field will be
- examined to decide Exdf used to edit a system
- exclusive event.
- $Exdf_val$ : It defines a Value-Data field. For this type, the
- FIELD_BITS is the number of bits of the field, and
- the FIELD_DATA is the default value of the Value-
- Data.
- $Exdf_data$ : It defines a Variable-Length-Data field. For this
- type, the FIELD_BITS is the unit number of bits
- (i.e. the number of bits of the field is a multiple
- of the FIELD_BITS), and the FIELD_DATA is the
- default value of each unit in Variable-Length-Data.
- $Exdf_sumStart$ : It defines a start point of check-sum calculation.
- Descriptions for a FIELD_BITS and a FIELD_DATA are
- not used.
- $Exdf_sumEnd$ : It defines a end point of check-sum calculation.
- Descriptions for a FIELD_BITS and a FIELD_DATA are
- not used.
- $Exdf_sum$ : It defines Check-Sum-Data field. For this type, the
- FIELD_BITS is the number of bits of the field, and
- the FIELD_DATA is not used. At runtime on
- MIDIGraphy, the Check-Sum-Data will be calculated
- accoding to next rule: The lower 7 bits of the sum
- total for all data from start point until end point
- and data in the Check-Sum-Data field is equal to 0.
- $Exdf_end$ : It defines End-of-Exdf field. Each Exdf resource
- must be end with this type field.
-
- These symbols are predefined by MG Profile Compiler.
-
- ------------------------------------------------------------------------------
-